Timm Bäder [Sun, 4 Aug 2019 12:28:06 +0000 (14:28 +0200)]
adwaita: Increase spinbutton button styling specificity
So it trumps the 'toned down' button styling.
Fixes #2012
Matthias Clasen [Mon, 5 Aug 2019 12:20:06 +0000 (12:20 +0000)]
Merge branch 'implement-choices-file-chooser-native-win32-for-gtk-4' into 'master'
Implement choices for GtkFileChooserNativeWin32 [Gtk4]
Closes #1982
See merge request GNOME/gtk!1043
Jordi Mas [Mon, 5 Aug 2019 04:18:53 +0000 (06:18 +0200)]
Update Catalan translation
Jor Teron [Sun, 4 Aug 2019 18:24:49 +0000 (18:24 +0000)]
Add Karbi translation
Jor Teron [Sun, 4 Aug 2019 18:22:12 +0000 (18:22 +0000)]
Add Karbi translation
Christian Kirbach [Sun, 4 Aug 2019 16:16:01 +0000 (16:16 +0000)]
Update German translation
Luca Bacci [Tue, 16 Jul 2019 10:43:43 +0000 (12:43 +0200)]
GtkFileChooserNativeWin32: Uninitialize COM at end of thread
GtkFileChooserNativeWin32 is created and shown on a secondary thread.
This thread initializes COM support with CoInitializeEx but does not
finalize it, so we have a leak. Fix that by calling CoUninitialize()
before thread terminates.
See Merge Request !1043
Luca Bacci [Fri, 12 Jul 2019 08:21:50 +0000 (10:21 +0200)]
GtkFileChoooserNative: change prepend to append for insertions in choices list
Although slightly less efficient, keeping the order in the choices
list makes it easier for GtkFileChooserNative implementations to
add widgets in the order specified by the application.
See Merge Request !1043
Luca Bacci [Wed, 10 Jul 2019 13:21:01 +0000 (15:21 +0200)]
Implement choices for GtkFileChooserNativeWin32
See Merge Request !1043
Timm Bäder [Thu, 1 Aug 2019 14:26:43 +0000 (16:26 +0200)]
window: Remove some leftover event code
Timm Bäder [Thu, 1 Aug 2019 14:03:57 +0000 (16:03 +0200)]
popover: Use GTK_POS_BOTTOM as default position
This has always made a lot more sense.
Timm Bäder [Wed, 31 Jul 2019 14:55:12 +0000 (16:55 +0200)]
colorchooserwidget: Inherit from GtkWidget
No reason for this to be a GtkBox.
Timm Bäder [Tue, 30 Jul 2019 14:30:30 +0000 (16:30 +0200)]
supp: Add some more exceptions
Matthias Clasen [Fri, 2 Aug 2019 16:59:27 +0000 (16:59 +0000)]
Merge branch 'glsl-switch' into 'master'
glsl: don't use switch statements
See merge request GNOME/gtk!1036
Matthias Clasen [Thu, 1 Aug 2019 23:31:44 +0000 (23:31 +0000)]
Merge branch 'wip/sort-icons-by-size' into 'master'
window: sort icons before adding to _NET_WM_ICON
See merge request GNOME/gtk!1038
Ray Strode [Thu, 1 Aug 2019 20:28:00 +0000 (16:28 -0400)]
window: sort icons before adding to _NET_WM_ICON
When processing the list of icons for a window to add them to
_NET_WM_ICON gdk_x11_surface_set_icon_list only adds as many
icon sizes as will fit within X protocol limits.
It achieves this by keeping a running total of the number of
bytes taken up by icons already processed and bails as soon
as it goes over the limit.
The problem is, one 512x512 icon is already over the limit,
and so no icons will get added at all if the first icon in
list is 512x512.
Indeed, the code seems to assume the list is sorted from smallest
icon to biggest icon.
This commit changes the caller to sort the list.
Jordi Mas [Thu, 1 Aug 2019 18:19:06 +0000 (20:19 +0200)]
Update Catalan translation
Matthias Clasen [Thu, 1 Aug 2019 04:18:19 +0000 (00:18 -0400)]
Revert "gl: Simplify glyph cache rendering"
This reverts commit
7a3eaad1935d9a985ae8ece1973ca517c3b839b8.
The reason we want to keep using pango here
is that we get hex boxes and similar drawing
features that way.
Elias Aebi [Wed, 31 Jul 2019 16:48:54 +0000 (18:48 +0200)]
glsl: don't use switch statements
Matthias Clasen [Wed, 31 Jul 2019 12:26:16 +0000 (12:26 +0000)]
Merge branch 'glyph-cache-fixes' into 'master'
gl: Glyph cache fixes
See merge request GNOME/gtk!1034
Matthias Clasen [Wed, 31 Jul 2019 12:04:03 +0000 (08:04 -0400)]
Add missing includes
Matthias Clasen [Wed, 31 Jul 2019 02:21:52 +0000 (22:21 -0400)]
gl: Glyph cache fixes
Pass the full location to the glyph cache lookup,
and use the same rounding as cairo does. This makes
the output much closer to the cairo renderer.
Matthias Clasen [Tue, 30 Jul 2019 18:01:11 +0000 (14:01 -0400)]
Add an image comparison utility
This comes in handy sometimes, and we
already have the image diff code.
Daniel Mustieles [Tue, 30 Jul 2019 07:39:55 +0000 (09:39 +0200)]
Updated Spanish translation
Timm Bäder [Tue, 30 Jul 2019 05:05:45 +0000 (07:05 +0200)]
widget factory: add a tooltip to a button in a popover
Matthias Clasen [Mon, 29 Jul 2019 12:17:52 +0000 (12:17 +0000)]
Merge branch 'issue2057' into 'master'
Bump wayland-protocols requirements
See merge request GNOME/gtk!1030
Olivier Fourdan [Mon, 29 Jul 2019 09:34:09 +0000 (11:34 +0200)]
Bump wayland-protocols requirements
The `name` and `description` events were added to `xdg-output` protocol
in version 2 which is part of wayland-protocols 1.14.
In xdg-output-v1 version 3, the `xdg-output.done` event was deprecated
and the `xdg-output.description` event was made mutable, but that
doesn't change the actual events so we do not actually need to require
that version of xdg-output from wayland-protocols 1.18.
Update the wayland-protocols requirement to the bare minimum version,
which is 1.14.
https://gitlab.gnome.org/GNOME/gtk/issues/2057
Matthias Clasen [Sun, 28 Jul 2019 21:02:31 +0000 (21:02 +0000)]
Merge branch 'subpixel-positioning' into 'master'
Subpixel positioning
See merge request GNOME/gtk!1024
Matthias Clasen [Sun, 28 Jul 2019 20:29:31 +0000 (16:29 -0400)]
reftest: Exclude flaky tests
These depend on details of text rendering,
and started failing with newer pango.
Matthias Clasen [Sun, 28 Jul 2019 14:06:47 +0000 (10:06 -0400)]
gl: implement subpixel positioning
Pass the glyph position into the glyph caching functions,
not just the glyph index. This allows us to cache different
images for different subpixel positions.
Matthias Clasen [Thu, 25 Jul 2019 21:50:31 +0000 (17:50 -0400)]
vulkan: implement subpixel positioning
Pass the glyph position into the glyph caching functions,
not just the glyph index. This allows us to cache different
images for different subpixel positions.
Matthias Clasen [Sat, 28 Jul 2018 17:33:26 +0000 (13:33 -0400)]
Turn off metrics hinting
This will be necessary to see the effects of subpixel positioning.
Matthias Clasen [Sun, 28 Jul 2019 20:32:56 +0000 (20:32 +0000)]
Merge branch 'wip/chergert/textview-caching' into 'master'
textlayout: introduce caching for GtkTextLineDisplay
See merge request GNOME/gtk!1025
Christian Hergert [Fri, 26 Jul 2019 17:40:43 +0000 (10:40 -0700)]
textlayout: introduce caching for GtkTextLineDisplay
This adds a GtkTextLineDisplayCache which can be used to cache a number
of GtkTextLineDisplay (and thus, PangoLayout) while displaying a view.
It uses a GSequence to track the position of the GtkTextLineDisplay
relative to each other, a MRU to cull the least recently used display,
and and a direct hashtable to lookup display by GtkTextLine.
We only cache lines that are to be displayed (!size_only). We may want to
either create a second collection of "size_only" lines to speed that up,
or determine that it is unnecessary (which is likely the case).
Christian Hergert [Sat, 27 Jul 2019 01:04:34 +0000 (18:04 -0700)]
textiter: add _gtk_text_iter_same_line()
This is a faster form to compare two text iter to see if they are on the
same line.
Matthias Clasen [Sun, 28 Jul 2019 15:39:16 +0000 (11:39 -0400)]
inspector: Show the pango backend
Matthias Clasen [Sun, 28 Jul 2019 15:00:29 +0000 (11:00 -0400)]
Remove new attributes from tests
Until we can depend on pango 1.44, these will
fail in ci. Partially reverts
f1c7803f800588e
Matthias Clasen [Sun, 28 Jul 2019 14:50:14 +0000 (10:50 -0400)]
Add pango version checks
Seems the ci does not have pango 1.44 yet.
Matthias Clasen [Sun, 28 Jul 2019 13:53:10 +0000 (09:53 -0400)]
gl: Simplify glyph cache rendering
We are currently using a weird mix of pango and cairo,
but there is no need for us to go through a pango
renderer here; we can just use cairo directly.
Matthias Clasen [Sun, 28 Jul 2019 13:35:37 +0000 (09:35 -0400)]
gsk: Move text-related test out of ci
These are too sensitive to rendering differences
between renderers to run reliably in ci, but we
still want to keep them around. In particular,
the big glyph tests are useful to exercise the
GL glyph cache.
Timm Bäder [Sun, 28 Jul 2019 09:57:43 +0000 (11:57 +0200)]
glyph cache: Upload large glyphs in lookup () directly
Instead of relying on a texture id of 0, which can happen for other
reasons, e.g. when the glyph is being scaled too small.
Fixes part of #2046
Timm Bäder [Sun, 28 Jul 2019 08:58:10 +0000 (10:58 +0200)]
glyph cache: check glyphs for scaled size
We can't rely on just the ink_rect, since that might be without the
scaled applied, which is what ends up on the texture.
Fixes #2046
Timm Bäder [Sat, 27 Jul 2019 07:19:26 +0000 (09:19 +0200)]
textview: Remove some unnecessary gtk_widget_show() calls
Widgets are visible by default.
Jordi Mas [Sat, 27 Jul 2019 23:05:25 +0000 (01:05 +0200)]
Update Catalan translation
Matthias Clasen [Sat, 27 Jul 2019 21:46:52 +0000 (21:46 +0000)]
Merge branch 'overview-recursive-dependancy' into 'master'
overview.xml: The GTK library does not depend on the GTK library
See merge request GNOME/gtk!1026
Piotr Drąg [Sat, 27 Jul 2019 13:20:40 +0000 (15:20 +0200)]
Update Polish translation
Piotr Drąg [Sat, 27 Jul 2019 13:03:47 +0000 (15:03 +0200)]
Update POTFILES.skip
Дилян Палаузов [Sat, 27 Jul 2019 10:23:01 +0000 (10:23 +0000)]
overview.xml: The GTK library does not depend on the GTK library
The documentation stated:
GTK is a library.… GTK depends on the following libraries:
GTK The GTK library itself contains widgets, that is, GUI
components such as GtkButton or GtkTextView.
There is no point in stating, that the GTK library
depends on the GTK library.
Timm Bäder [Sat, 27 Jul 2019 05:57:06 +0000 (07:57 +0200)]
window: Unroot with old display
Things might rely on the old display being set while unrooting.
Fixes #2052
Matthias Clasen [Sat, 27 Jul 2019 04:02:08 +0000 (00:02 -0400)]
label: Parse new pango attributes
Support allow-breaks and show attributes.
These will be in pango 1.44
Matthias Clasen [Fri, 26 Jul 2019 17:13:39 +0000 (17:13 +0000)]
Merge branch 'xdg-output-v3-gtk4' into 'master'
wayland: Add xdg-output v3 support
See merge request GNOME/gtk!1022
Olivier Fourdan [Fri, 26 Jul 2019 15:07:58 +0000 (17:07 +0200)]
wayland: Add xdg-output v3 support
xdg-output v3 marks xdg-output.done as deprecated and compositors are
not required to send that event anymore.
So if the xdg-output version is 3 or higher, simply set the initial
value `xdg_output_done` to TRUE so we don't wait/expect that event
from the compositor.
https://gitlab.gnome.org/GNOME/gtk/issues/2053
Matthias Clasen [Fri, 26 Jul 2019 14:31:49 +0000 (14:31 +0000)]
Merge branch 'wip/no-move-surface' into 'master'
Remove surface moving APIs
See merge request GNOME/gtk!1016
Timm Bäder [Fri, 26 Jul 2019 14:27:39 +0000 (16:27 +0200)]
gl renderer: Fix dx/dy handling on hidpi
Fixes misplaced error squiggles in the node editor.
Timm Bäder [Fri, 26 Jul 2019 12:49:36 +0000 (14:49 +0200)]
gl renderer: Rework transform handling
Fix all the ref counting mishaps. Makes hidpi work again and without
memory leaks.
Kukuh Syafaat [Fri, 26 Jul 2019 11:31:46 +0000 (11:31 +0000)]
Update Indonesian translation
Kjartan Maraas [Fri, 26 Jul 2019 09:01:15 +0000 (09:01 +0000)]
Update Norwegian Bokmål translation
Daniel Mustieles [Fri, 26 Jul 2019 07:18:25 +0000 (09:18 +0200)]
Updated Spanish translation
Matthias Clasen [Fri, 26 Jul 2019 04:30:36 +0000 (00:30 -0400)]
font rendering demo: Make boxes optional
Matthias Clasen [Fri, 26 Jul 2019 03:35:09 +0000 (23:35 -0400)]
font rendering demo: Show unrounded extents
This makes more sense.
Matthias Clasen [Fri, 26 Jul 2019 02:06:34 +0000 (22:06 -0400)]
font rendering: Show ink rect too
Matthias Clasen [Thu, 25 Jul 2019 22:49:00 +0000 (18:49 -0400)]
Improve the font rendering demo
Show the pixel grid, extents, and baseline.
Matthias Clasen [Thu, 25 Jul 2019 21:06:54 +0000 (21:06 +0000)]
Merge branch 'fontrendering-demo' into 'master'
Add a font rendering demo
See merge request GNOME/gtk!1019
Matthias Clasen [Fri, 27 Jul 2018 22:42:22 +0000 (18:42 -0400)]
Add a font rendering demo
This renders a magnified version of the text,
to make the effect of various font rendering options
more visible.
It also shows the phases of subpixel rendering,
if you have a recent pango and cairo.
Matthias Clasen [Thu, 25 Jul 2019 17:48:52 +0000 (13:48 -0400)]
tests: improve error handling
Matthias Clasen [Thu, 25 Jul 2019 17:47:59 +0000 (13:47 -0400)]
gtk-demo: Fix a crash
Emmanuele Bassi [Thu, 25 Jul 2019 10:16:11 +0000 (10:16 +0000)]
Merge branch 'gtk-4-add-TCRYPT-options-to-ask-password-dialog' into 'master'
gtkmountoperation: Add TCRYPT options to the ask-password dialog
See merge request GNOME/gtk!263
Jonas Ådahl [Mon, 15 Jul 2019 13:47:12 +0000 (15:47 +0200)]
gdk: Remove gdk_surface_move_resize() API
Windows/surface's aren't supposed to be explicitly moved by any external
part, so don't provide API for doing so. Usage throughout Gdk is
replaced by the corresponding backend variants.
Jonas Ådahl [Mon, 15 Jul 2019 09:35:24 +0000 (11:35 +0200)]
gdk: Make backends implement move_to_rect()
The generic layer still does the heavy lifting, leaving the backends
more or less just act as thin wrappers, dealing a bit with global
coordinate transformations. The end goal is to remove explicit surface
moving from the generic gdk layer.
Jonas Ådahl [Mon, 15 Jul 2019 09:32:35 +0000 (11:32 +0200)]
gdk: Remove gdk_surface_move()
Generic gdk code now uses the internal helper; backends use their own
private implementations when necessary.
Jonas Ådahl [Mon, 15 Jul 2019 08:54:44 +0000 (10:54 +0200)]
gdk/surface: Add toplevel_resize vfunc
To separate how toplevels and popups are configured, a first step is to
introduce a resize-only vfunc for backends to implement. It's meant to
only configure toplevel windows, i.e. popups. Currently it's used for
both types, but introducing the resize-only API is a first step.
Matthias Clasen [Wed, 24 Jul 2019 23:47:41 +0000 (23:47 +0000)]
Merge branch 'avoid-redundant-attributes' into 'master'
text layout: Avoid redundant text attributes
See merge request GNOME/gtk!1015
Matthias Clasen [Wed, 24 Jul 2019 23:03:07 +0000 (19:03 -0400)]
text layout: Avoid redundant text attributes
Don't insert text attributes if the font, or scale
or fallback did not actually change. This helps
Pango avoid excessive item breaks, which in turn
helps shaping to work across things like color
changes.
Related: https://gitlab.gnome.org/GNOME/pango/issues/28
Jonas Ådahl [Fri, 12 Jul 2019 13:54:32 +0000 (15:54 +0200)]
wayland: Cleanup surface configuration
Configuration should happen in response to the xdg_surface.configure
event, not in the events that preceeds it. Do this by making all
configured state pending until the committing "configure" event. Also
split up toplevel vs popup configuration in a more clear way.
Jonas Ådahl [Fri, 12 Jul 2019 13:24:18 +0000 (15:24 +0200)]
wayland: Rename gdk_wayland_surface_configure to *_resize
It only issues a resize; configuring should imply more state is
configured, e.g. maximized, etc.
Jonas Ådahl [Fri, 5 Jul 2019 17:44:28 +0000 (19:44 +0200)]
tests: Remove obsolete props from popover2.ui
Matthias Clasen [Wed, 24 Jul 2019 13:51:22 +0000 (13:51 +0000)]
Merge branch 'gtkapp-opening-str' into 'master'
Use commas to differentiate between text and filename
See merge request GNOME/gtk!1013
Jordi Mas [Wed, 24 Jul 2019 13:51:22 +0000 (13:51 +0000)]
Use commas to differentiate between text and filename
Matthias Clasen [Wed, 24 Jul 2019 13:50:04 +0000 (13:50 +0000)]
Merge branch 'missing-gobject-annotation' into 'master'
Add nullable annotation to combo_box_text_get_active_text
See merge request GNOME/gtk!1012
Timm Bäder [Wed, 24 Jul 2019 06:10:37 +0000 (08:10 +0200)]
passwordentry: Normalize boolean value
Timm Bäder [Wed, 24 Jul 2019 06:10:26 +0000 (08:10 +0200)]
passwordentry: Remove empty vfunc implementation
Timm Bäder [Mon, 22 Jul 2019 11:59:47 +0000 (13:59 +0200)]
textlayout: Avoid querying CSS state if we don't have to
This is actually pretty slow, and we almost never render a selection.
Timm Bäder [Sun, 21 Jul 2019 13:38:13 +0000 (15:38 +0200)]
popover: Remove some unnecessary checks
gtk_popover_move_resize() already checks whether the popover has a
surface.
Matthias Clasen [Wed, 24 Jul 2019 03:26:58 +0000 (23:26 -0400)]
Remove a redundant vfunc
PangoRenderer has a perfectly adequate default
implementation of draw_glyphs, no need to duplicate that.
Ryan Westlund [Wed, 24 Jul 2019 02:09:06 +0000 (22:09 -0400)]
Add nullable annotation to combo_box_text_get_active_text
Matthias Clasen [Wed, 24 Jul 2019 02:05:32 +0000 (02:05 +0000)]
Merge branch 'blink-later' into 'master'
Blink later
See merge request GNOME/gtk!1011
Matthias Clasen [Wed, 24 Jul 2019 01:39:37 +0000 (01:39 +0000)]
Merge branch 'error-nodes' into 'master'
Render error underlines as render nodes
See merge request GNOME/gtk!1009
Matthias Clasen [Wed, 24 Jul 2019 01:18:03 +0000 (21:18 -0400)]
textview: Defer cursor blinking on input
We were not calling the right cursor functions
in the commit handler.
Matthias Clasen [Wed, 24 Jul 2019 01:17:05 +0000 (21:17 -0400)]
textview: Delay initial cursor blinking
These changes follow the same changes for
gtktext.c in the previous commit.
Matthias Clasen [Wed, 24 Jul 2019 01:08:47 +0000 (21:08 -0400)]
text: Delay initial cursor blinking
We used to have a solid cursor for 2/3 of the cycle,
now we start fading after 1/4th. To make up for it,
add half a cycle of delay.
Matthias Clasen [Tue, 23 Jul 2019 22:44:59 +0000 (22:44 +0000)]
Merge branch 'wip/chergert/refcount-line-display' into 'master'
make GtkTextLineDisplay ref counted
See merge request GNOME/gtk!1010
Matthias Clasen [Tue, 23 Jul 2019 21:21:16 +0000 (17:21 -0400)]
Render error underlines as render nodes
Use a sequence of transformed squares,
instead of a cairo node. The drawing is not
identical to the previous code, but reasonably
close.
Christian Hergert [Tue, 23 Jul 2019 21:59:40 +0000 (14:59 -0700)]
textlayout: remove use of gtk_text_layout_free_line_display
Now that these are reference counted, we no longer need to use
the variant requiring access to the GtkTextLayout.
Christian Hergert [Tue, 23 Jul 2019 21:52:14 +0000 (14:52 -0700)]
textlayout: make GtkTextLineDisplay reference counted
This makes GtkTextLineDisplay use GRcBox instead of g_slice_*
directly. By using reference counting for this structure, we
can ensure that we hold an extra ref for one_display_cache as
well as caching additional GtkTextLineDisplay for the visible
range in the future.
Matthias Clasen [Tue, 23 Jul 2019 19:14:38 +0000 (15:14 -0400)]
text: Remove an outdated comment
Matthias Clasen [Tue, 23 Jul 2019 18:26:32 +0000 (14:26 -0400)]
fix the build
Piotr Drąg [Tue, 23 Jul 2019 17:47:43 +0000 (19:47 +0200)]
Update POTFILES.in
Matthias Clasen [Tue, 23 Jul 2019 01:01:22 +0000 (18:01 -0700)]
text: Fix incomplete invalidation
When a style change affects the text, we need to
clear the cached content, in order to pick up the
new text style.
Matthias Clasen [Tue, 23 Jul 2019 00:42:25 +0000 (17:42 -0700)]
text view: Fix incomplete invalidation
Update the cached text style when a css change affects
content or background. This fixes text views drawing
black-on-dark when switching to the dark theme.
Jordi Mas [Mon, 22 Jul 2019 09:06:27 +0000 (11:06 +0200)]
Update Catalan translation